<?php

/**
 * sae操作类
 */
class SaeApi {

    /**
     *  sae获取文件访问路径
     * @param type $filename    文件名
     * @return type 
     */
    public static function Sto_getUrl($filename) {
        $storagee = new SaeStorage();
        $url = $storagee->getCDNUrl(S_DOMAIN, $filename);
        return $url;
    }

    /**
     * sae获取文件属性
     * @param type $filename
     * @return type 
     */
    public static function Sto_getAttr($filename) {
        $storagee = new SaeStorage();
        $attr = $storagee->getAttr(S_DOMAIN, $filename);
        return $attr;
    }

    /**
     * sae判断文件是否存在
     * @param type $filename    文件名
     * @return type 
     */
    public static function Sto_fileExists($filename) {
        $storagee = new SaeStorage();
        return $storagee->fileExists(S_DOMAIN, $filename);
    }

    /**
     * sae删除文件
     * @param type $filename 文件名
     * @return type 
     */
    public static function Sto_fileDelete($filename) {
        $storagee = new SaeStorage();
        return $storagee->delete(S_DOMAIN, $filename);
    }

    /**
     * sae上传
     * @param type $destFileName 来源文件名
     * @param type $srcFileName  上传后文件名
     * @param type $folder 目录
     * @return type 
     */
    public static function Sto_upload($destFileName, $srcFileName) {
        $storagee = new SaeStorage();
        $savepath = $storagee->upload(S_DOMAIN, $destFileName, $srcFileName);
        return $savepath;
    }

    /**
     * sae获取文件列表
     * @param type $prefix 过滤条件
     * @param type $limit  返回条数
     * @param type $offset  起始数
     * @return type 
     */
    public static function Sto_getList($prefix, $limit=100, $offset=0) {
        $storagee = new SaeStorage();
        $retval = $storagee->getList(S_DOMAIN, $prefix, $limit, $offset);
        return $retval ? $retval : array();
    }

    /**
     * sae根据路径获取文件
     * @param type $path 路径
     * @param type $limit 返回条数
     * @param type $offset 起始
     * @param type $fold 是否折叠目录
     * @return type 
     */
    public static function Sto_getListByPath($path, $limit=100, $offset=0, $fold=true) {
        $storagee = new SaeStorage();
        $retval = $storagee->getListByPath(S_DOMAIN, $path, $limit, $offset, $fold);
        return $retval ? $retval["files"] : array();
    }

    /**
     *  sae写文件
     * @param type $destFileName    文件名
     * @param type $content 写入数据
     * @return type 
     */
    public static function Sto_write($destFileName, $content) {
        $storagee = new SaeStorage();
        $savepath = $storagee->write(S_DOMAIN, $destFileName, $content);
        return $savepath;
    }

    /**
     *  Sae读取文件内容
     * @param type $destFileName 文件名
     * @param type $folder 目录
     * @return type 
     */
    public static function Sto_read($destFileName) {
        $storagee = new SaeStorage();
        $data = $storagee->read(S_DOMAIN, $destFileName);
        return $data;
    }

}
